چکیده

مقاله حاضر به معرفی و تحلیل مبانی علمی حاکم بر طراحی و پیاده‌سازی یک سامانه نرم‌افزاری برای پایش ولتاژ در گستره صفر تا ۳۶۰ ولت می‌پردازد. این سامانه بر پایه معماری سخت‌افزاری ساده و نرم‌افزاری چندلایه طراحی شده و قادر به دریافت، ذخیره‌سازی، نمایش و تحلیل همزمان حداکثر شش کانال ولتاژ است. داده‌های ولتاژ از طریق یک مبدل آنالوگ به دیجیتال نظیر آنچه در بردهای آردوینو تعبیه شده، برداشت شده و سپس با اعمال روش‌های میانگین‌گیری متحرک، نویزهای مزاحم حذف می‌شود. این مقاله ضمن مرور مبانی نظری اندازه‌گیری الکتریکی، محدودیت‌ها و ملاحظات عملی در پیاده‌سازی چنین سامانه‌ای را بررسی می‌کند.

۱. مقدمه

پایش لحظه‌ای ولتاژ یکی از نیازهای اساسی در انواع سیستم‌های الکترونیکی، صنعتی و تحقیقاتی است. از جمله این موارد می‌توان به سیستم‌های ذخیره‌ساز انرژی در خودروهای برقی، بانک‌های باتری در نیروگاه‌های خورشیدی و بادی، منابع تغذیه بدون وقفه در مراکز داده و تجهیزات مخابراتی، و سامانه‌های کنترل فرآیند در اتوماسیون صنعتی اشاره کرد. در تمامی این کاربردها، ثبت و تحلیل پی‌وسته ولتاژ می‌تواند از وقوع خرابی‌های پرهزینه و توقف عملیات جلوگیری کند.

سامانه معرفی شده در این مقاله از معماری ساده و مبتنی بر اصول علمی معتبر پیروی می‌کند. لایه‌های سخت‌افزاری و نرم‌افزاری این سامانه به گونه‌ای طراحی شده‌اند که با حداقل پیچیدگی، حداکثر قابلیت اطمینان و دقت را فراهم آورند. در ادامه، ابتدا مبانی فیزیک نیمه‌رساناها مرور می‌شود، سپس معماری سامانه، روش‌های فیلترسازی، ساختار رابط کاربری و نهایتاً ملاحظات ذخیره‌سازی داده مورد بحث قرار می‌گیرند.

۲. مبانی نظری

۲.۱. مبانی فیزیک نیمه‌رساناها

در قلب هر سامانه اندازه‌گیری الکترونیکی، اتصال p-n به عنوان عنصر بنیادین نیمه‌رساناها قرار دارد. رفتار قطعات نیمه‌رسانا، از جمله دیودها و ترانزیستورهایی که در ساختار مبدل‌های آنالوگ به دیجیتال استفاده می‌شوند، به شدت به دما وابسته است. این وابستگی دمایی را می‌توان با استفاده از مدل آرنیوس (Arrhenius) توصیف کرد. بر پایه این مدل، نرخ واکنش‌های فیزیکی در یک قطعه نیمه‌رسانا به صورت تابع نمایی از دمای اتصال است. این وابستگی دمایی به این معناست که هر سامانه اندازه‌گیری ولتاژ باید در برابر تغییرات دمای محیط مقاوم باشد یا نتایج اندازه‌گیری برحسب دما تصحیح شوند. در عمل، این مسئله با به کارگیری مدارهای مرجع ولتاژ با ضریب حرارتی پایین و یا با اعمال جبران‌سازی نرم‌افزاری مبتنی بر سنسور دمای داخلی قابل مدیریت است. این بحث فراتر از حوصله این مقاله است و صرفاً جهت آگاهی علمی ارائه می‌شود.

۲.۲. مبدل آنالوگ به دیجیتال و مبانی سیگنال‌های نمونه‌برداری شده

هر سیستم اندازه‌گیری دیجیتال ناگزیر به تبدیل کمیت فیزیکی پیوسته به مقادیر گسسته است. در سیستم مورد بحث از مبدل آنالوگ به دیجیتال (ADC) ۱۰ بیتی تعبیه شده در میکروکنترلر استفاده می‌شود. این مبدل سیگنال ورودی را در مقایسه با یک ولتاژ مرجع (V_ref) و ولتاژ صفر (زمین) نمونه‌برداری کرده و خروجی آن عددی صحیح بین ۰ تا ۱۰۲۳ است.

مطابق قضیه نمونه‌برداری نایکوئیست (Nyquist Theorem) که در متون مرجع پردازش سیگنال به تفصیل شرح داده شده است، فرکانس نمونه‌برداری باید حداقل دو برابر بیشترین فرکانس مؤلفه موجود در سیگنال آنالوگ ورودی باشد. سیگنال‌های دارای مؤلفه‌های فرکانسی بالاتر از نصف فرکانس نمونه‌برداری دچار پدیده Aliasing شده و به صورت فرکانس‌های کاذب در دامنه قابل مشاهده ظاهر می‌شوند. در عمل، برای جلوگیری از وقوع چنین پدیده‌ای، یک فیلتر پایین‌گذر آنالوگ در مقابل ورودی ADC قرار داده می‌شود. این فیلتر فرکانس‌های بالاتر از نصف فرکانس نمونه‌برداری را حذف کرده و اطمینان حاصل می‌کند که داده‌های دیجیتال بازتابی صحیح از سیگنال اصلی باشند.

۲.۳. نویز الکترونیکی و روش‌های کاهش آن

یکی از چالش‌های اساسی در هر سیستم اندازه‌گیری ولتاژ، حضور نویزهای الکترونیکی است. نویز به هر گونه سیگنال ناخواسته‌ای اطلاق می‌شود که بر سیگنال مفید سوار می‌شود و دقت و قابلیت اطمینان اندازه‌گیری را کاهش می‌دهد. معیار کمی برای سنجش کیفیت اندازه‌گیری، نسبت سیگنال به نویز است که بر حسب دسی بل بیان می‌شود. هرچه این نسبت بیشتر باشد، داده‌های خروجی خالص‌تر و قابل اتکا‌تر خواهند بود.

منابع اصلی نویز در مدارات الکترونیکی متعدد هستند. یکی از رایج‌ترین منابع، نویز هدایت شونده است که از طریق خطوط تغذیه، مسیرهای زمین و سیم‌های سیگنال منتشر می‌شود. منابع تغذیه سوئیچینگ، درایورهای موتور و قطع و وصل رله‌ها جریان‌های ضربه‌ای شدیدی را به درون منبع تغذیه تزریق می‌کنند که به صورت نویز در تمام قطعات متصل دیده می‌شود. همچنین نویز تابشی ناشی از میدان‌های الکترومغناطیسی اطراف سیم‌ها و بردهای مدار چاپی، از دیگر منابع مزاحم است. در چیدمان‌های فشرده مانند برد بورد، سیگنال‌های قوی می‌توانند از طریق خازن‌های مزاحم به سیم‌های مجاور جفت شده و ایجاد اختلال کنند. در عمل، برای کاهش اثر نویزها، راهکارهای متعددی اتخاذ می‌شود. افزودن یک خازن ۱۰۰ نانوفارادی بین پایه تغذیه و زمین قطعات، استفاده از سیم‌های محافظ برای سیگنال‌های حساس و تفکیک مسیرهای زمین جریان قوی از مسیرهای زمین سیگنال‌های ضعیف از جمله این راهکارها هستند.

۳. معماری سامانه

۳.۱. ساختار کلی

سامانه طراحی شده از سه لایه اصلی تشکیل یافته است. لایه سخت‌افزاری شامل میکروکنترلر، مدار تقسیم کننده ولتاژ و بخش تغذیه است. لایه ارتباطی داده‌ها را از طریق پورت سریال به لایه نرم‌افزاری منتقل می‌کند. لایه نرم‌افزاری که خود بر اساس الگوهای طراحی شناخته شده در مهندسی نرم‌افزار همچون Singleton، Observer و Worker Thread بنا نهاده شده، وظیفه دریافت، نمایش، ذخیره و تحلیل داده‌ها را بر عهده دارد.

۳.۲. لایه ارتباطی و پروتکل داده

ارتباط مابین لایه سخت‌افزاری و لایه نرم‌افزاری از طریق پورت سریال و با استفاده از پروتکل استاندارد RS-232 برقرار می‌شود. برد آردوینو به صورت پیوسته پایه‌های آنالوگ ورودی را خوانده و مقادیر ولتاژ محاسبه شده را با فرمتی ساده مانند "A0=12.50" به کامپیوتر میزبان ارسال می‌کند. استفاده از فرمت متنی ساده انسانی، امکان دیباگ و عیب‌یابی سامانه را به مراتب ساده‌تر می‌کند. در لایه نرم‌افزاری، یک نخ مجزا به صورت مداوم پورت را پایش کرده و فریم‌های دیتای رسیده را پارس می‌کند. این معماری از قفل شدن رابط کاربری در هنگام دریافت داده‌های پرحجم جلوگیری می‌کند.

۳.۳. فیلترسازی نرم‌افزاری و میانگین‌گیری

پس از انتقال مقادیر خام ولتاژ به نرم‌افزار، هنوز ممکن است نویزهایی با دامنه کم بر روی سیگنال وجود داشته باشند. برای حذف این نویزها، از تکنیک میانگین‌گیری متحرک استفاده می‌شود. در این روش، به جای نمایش آخرین مقدار خوانده شده، میانگین چند نمونه آخر سیگنال به عنوان خروجی در نظر گرفته می‌شود. میانگین‌گیری داده‌های یک ADC در حکم یک فیلتر پایین‌گذر نرم‌افزاری عمل کرده و نوسانات با فرکانس بالا را تضعیف می‌کند. در سامانه حاضر از میانگین متحرک با پنجره ۵ نمونه استفاده می‌شود. انتخاب اندازه پنجره یک Trade-off کلاسیک بین همواری سیگنال و تأخیر پاسخ است. پنجره بزرگتر سیگنال نرم‌تری ایجاد می‌کند اما در مقابل تغییرات ناگهانی ولتاژ با تأخیر بیشتری منعکس می‌شوند.

۳.۴. رابط کاربری گرافیکی و نمایش داده

مکانیزم ارتباط بین رابط کاربری و نخ اصلی محاسباتی نرم‌افزار، مبتنی بر الگوی انتشار/اشتراک و سیگنال‌ها و اسلات‌ها است. نخ دریافت داده، سیگنالی را حاوی جدیدترین مقادیر ولتاژ صادر می‌کند و نخ رابط کاربری به محض دریافت آن، نمایشگرها و نمودارها را به روز می‌کند. این الگو یکی از اصول بنیادین برنامه‌نویسی پیشرفته در چارچوب Qt است که توسعه برنامه‌ای ناهمگام، پاسخگو و عاری از هنگ‌کردن را تضمین می‌کند. طراحی چنین معماری برای هر نرم‌افزار مانیتورینگ صنعتی که به پایداری طولانی مدت نیاز دارد، حیاتی است.

۳.۵. ساختار داده و ذخیره‌سازی مطالعات

برای ذخیره‌سازی داده‌های ولتاژ، فرمت CSV انتخاب شده است. این فرمت به دلیل سادگی، خوانایی توسط انسان، و قابلیت باز شدن توسط انواع نرم‌افزارهای صفحه گسترده (مانند Microsoft Excel و LibreOffice Calc) و ابزارهای علمی (مانند MATLAB و Python) یک فرمت پایدار و مستند محسوب می‌شود.

در ساختار فایل، برای هر کانال یک شیت مجزا در نظر گرفته شده و رکوردها شامل شناسه کانال، مقدار ولتاژ، واحد اندازه‌گیری (ولت)، نوع وضعیت (نرمال، هشدار و ...) و یک TimeStamp با فرمت ISO 8601 (YYYY-MM-DD HH:MM:SS) ذخیره می‌شوند. ذخیره‌سازی به صورت خودکار و با بازه زمانی قابل تنظیم توسط کاربر (از ۱ تا ۶۰ دقیقه) انجام می‌شود. عملیات ذخیره‌سازی نیز در یک نخ مجزا انجام می‌شود تا فرآیند اصلی گرفتن و نمایش داده‌ها مختل نشود. این سامانه همچنین قابلیت انجام یک سری آمار توصیفی بر روی داده‌های ذخیره شده (از قبیل میانگین، میانه، انحراف معیار، کمینه و بیشینه) و افزودن آن‌ها به فایل خروجی نهایی را دارد.

۴. روش‌شناسی پیاده‌سازی و اجرا

بدون ارائه جزئیات گام به گام که قابل کپی مستقیم باشد، در این بخش ملاحظات کلی حاکم بر یک پیاده‌سازی موفق شرح داده می‌شود. برای اطمینان از عملکرد صحیح سامانه، باید از اتصالات الکتریکی مناسب و ایزوله شده استفاده شود. سیم‌های رابط، به ویژه در بخش ورودی ولتاژ بالا که به تقسیم کننده متصل می‌شود، باید دارای عایق کافی و استاندارد باشند. منبع تغذیه میکروکنترلر و مدارات جانبی باید از کیفیت کافی برخوردار بوده و نوسانات ولتاژی کمی داشته باشد. در صورت استفاده از منبع تغذیه سوئیچینگ، بهتر است یک یا چند فیلتر EMI در خروجی آن تعبیه شود. پیش از اتصال به هر ولتاژی، باید محاسبه مقاومت‌های تقسیم کننده بر اساس حداکثر ولتاژ مورد نظر (۳۶۰ ولت) با دقت انجام شده و توان تلف شده محاسبه شود. پس از مونتاژ مداری، قبل از اتصال به میکروکنترلر، ولتاژ خروجی تقسیم کننده با یک ولت‌متر دقیق اندازه‌گیری شود تا از صحت عملکرد آن اطمینان حاصل گردد.

در بخش نرم‌افزار، نصب پیش‌نیازها و کتابخانه‌های مورد نیاز از طریق دستورات استاندارد مدیر بسته پایتون (pip) انجام می‌گیرد. کد منبع سامانه شامل چندین کلاس و مدول است که وظایف متفاوتی از مدیریت ارتباط سریال، نگهداری اشیاء باتری/کانال، مدیریت عملیات ذخیره‌سازی خودکار و نمایش رابط کاربری را بر عهده دارند. چیدمان و معماری کد بر اساس اصول جداسازی نگرانی‌ها و وابستگی معکوس است که به نگهداری و توسعه آن در آینده کمک شایانی می‌کند. پس از نصب و راه‌اندازی، کاربر از طریق رابط کاربری، تنظیمات پورت COM را انتخاب کرده، ولتاژ مرجع و سایر پارامترها را مطابق سخت‌افزار خود پیکربندی می‌کند.

۵. کاربردهای علمی و صنعتی

سامانه حاضر کاربردهای گسترده‌ای در محیط‌های دانشگاهی، تحقیقاتی و صنعتی دارد. از جمله می‌توان به موارد زیر اشاره کرد:

  • پژوهش‌های مرتبط با پیری و تخریب باتری‌ها: با ذخیره پیوسته ولتاژ، می‌توان پروفایل تخریب سلول‌های باتری طی زمان را ثبت و مدل‌های پیشگویانه برای طول عمر آن‌ها توسعه داد.

  • سیستم‌های مدیریت باتری در خودروهای برقی و تجهیزات صنعتی: پایش همزمان ولتاژ سلول‌های مختلف در یک بانک بزرگ باتری و تشخیص سلول‌های ناهماهنگ برای متعادل‌سازی آن‌ها.

  • آموزش مهندسی و آزمایشگاه‌های دانشجویی: سامانه مذکور یک ابزار آموزشی ایده‌آل برای دروس الکترونیک و اندازه‌گیری است، چرا که مفاهیم حیاتی نظیر ADC، نویز، نمونه‌برداری و پردازش سیگنال را در یک پروژه عملی و ملموس تجمیع می‌کند.

۶. نتیجه‌گیری

در این مقاله، سامانه‌ای جامع برای پایش لحظه‌ای و ذخیره‌سازی ولتاژهای پیوسته ارائه گردید. مبانی فیزیکی و نظری حاکم بر سامانه شامل اصول نیمه‌رساناها، قضیه نمونه‌برداری نایکوئیست، نحوه عملکرد مبدل آنالوگ به دیجیتال و تحلیل منابع نویز مورد بررسی قرار گرفت. معماری سامانه به صورت سه لایه سخت‌افزاری، ارتباطی و نرم‌افزاری تشریح شد و نشان داده شد که چگونه تلفیق ابزارهای قدرتمند نرم‌افزاری با سخت‌افزاری ارزان‌قیمت و پرکاربرد، راهکاری مقیاس‌پذیر و کم‌هزینه برای مانیتورینگ ولتاژ فراهم می‌آورد. فراتر از کد، دانش پیاده‌سازی چنین سیستمی مهارت‌های عملی بسیار باارزشی در زمینه‌های مهندسی برق، فیزیک تجربی و علوم کامپیوتر به پژوهشگر و توسعه‌دهنده می‌دهد. امید است محتوای فنی این مقاله برای محققان و متخصصان فعال در حوزه‌های ابزار دقیق، سیستم‌های قابل برنامه‌ریزی و اینترنت اشیا مفید واقع شود.

منابع و مراجع

  • Desmond J. Higham, Nicholas J. Higham, "MATLAB Guide", Society for Industrial and Applied Mathematics, 2016.

  • Steven W. Smith, "The Scientist and Engineer's Guide to Digital Signal Processing", California Technical Publishing, 1997.

  • Martin Fitzpatrick, "Create GUI Applications with Python & Qt6 (PyQt6 Edition)", 2025.

  • "What is PyQtGraph? Fast Python Plotting Explained", PyQtGraph Official Documentation, 2025.

  • "Averaging Data from ADC Measurement", Microchip Technology Inc. Online Documentation.

  • "Noise in Electronic Circuits: Sources and How to Reduce It", Zbotic Technical Guide, 2026.

  • "Understanding ADC: Discussion on Connection Methods Between Sensors and ADC", Boardor Technology Blog, 2025.

  • John Errington, "Experiments with an Arduino: Sensible Results from Your ADC Readings", Skillbank Technical Resource.